Question2.dart

void main() {
  double waterUsageLimit = 100.0;
  double currentUsage = 0.0;
  double hourlyBaseUsage = 15.0;
  
  print("💧 Smart Home Water Usage Monitor");
  print("Water usage limit: ${waterUsageLimit}L");
  print("Starting monitoring...\n");
  
  for (int hour = 1; hour <= 24; hour++) {
    double hourlyUsage = hourlyBaseUsage + (hour % 5).toDouble();
    currentUsage += hourlyUsage;
    
    print("Hour $hour: Used ${hourlyUsage.toStringAsFixed(1)}L | Total: ${currentUsage.toStringAsFixed(1)}L");
    
    if (currentUsage > waterUsageLimit) {
      String alertMessage = "ALERT: Water usage exceeded limit! ";
      String currentStatus = "Current usage: " + currentUsage.toStringAsFixed(1) + "L";
      String limitInfo = " | Limit: " + waterUsageLimit.toStringAsFixed(1) + "L";
      
      String fullAlert = alertMessage + currentStatus + limitInfo;
      
      if (currentUsage > waterUsageLimit * 1.5) {
        print("🚨 ${fullAlert.toUpperCase()}");
      } else {
        print("⚠️  ${fullAlert.toLowerCase()}");
      }
    }
    
    if (hour % 6 == 0) {
      print("   📊 6-hour check: ${currentUsage.toStringAsFixed(1)}L used so far");
    }
  }
  
  print("\n--- Daily Summary ---");
  print("Total water usage for 24 hours: ${currentUsage.toStringAsFixed(1)}L");
  
  double baseBill = 50.0;
  double finalBill = baseBill;
  
  if (currentUsage < 200.0) {
    double discount = 0.05;
    double discountAmount = baseBill * discount;
    finalBill = baseBill - discountAmount;
    
    print("🎉 CONGRATULATIONS! You conserved water!");
    print("Earned 5% discount for using less than 200L");
    print("Original bill: \$${baseBill.toStringAsFixed(2)}");
    print("Discount: \$${discountAmount.toStringAsFixed(2)}");
    print("Final bill: \$${finalBill.toStringAsFixed(2)}");
  } else {
    print("💡 Tip: Try to use less than 200L next time to get a 5% discount!");
    print("Your bill: \$${finalBill.toStringAsFixed(2)}");
  }
  
  print("\n🏠 Smart Home Monitoring Complete!");
}